// 监听来自popup的消息
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message.action === 'exportText') {
    exportAsText(message.data);
  } else if (message.action === 'exportJson') {
    exportAsJson(message.data);
  }
});

// 导出为文本文件
function exportAsText(data) {
  // 创建文件名（基于页面标题）
  const fileName = `${sanitizeFileName(data.title)}.txt`;
  
  // 构建文件内容
  const content = `标题: ${data.title}\nURL: ${data.url}\n\n${data.content}`;
  
  // 创建Blob并下载
  const blob = new Blob([content], { type: 'text/plain' });
  const url = URL.createObjectURL(blob);
  
  chrome.downloads.download({
    url: url,
    filename: fileName,
    saveAs: true
  }, () => {
    URL.revokeObjectURL(url);
  });
}

// 导出为JSON文件
function exportAsJson(data) {
  // 创建文件名（基于页面标题）
  const fileName = `${sanitizeFileName(data.title)}.json`;
  
  // 构建JSON内容
  const content = JSON.stringify(data, null, 2);
  
  // 创建Blob并下载
  const blob = new Blob([content], { type: 'application/json' });
  const url = URL.createObjectURL(blob);
  
  chrome.downloads.download({
    url: url,
    filename: fileName,
    saveAs: true
  }, () => {
    URL.revokeObjectURL(url);
  });
}

// 清理文件名，移除不合法字符
function sanitizeFileName(name) {
  if (!name) return 'untitled';
  return name.replace(/[<>:"/\\|?*]/g, '_').substring(0, 50);
}
